package com.itfreer.data.db.service;

import java.io.IOException;
import java.util.List;
import java.util.Map;

import com.itfreer.data.db.entity.DBRegistEntity;

/**
 * 定义数据注册服务
 */
public interface DBRegistService {
	/**
	 * 获取实体列表
	 * @param queryFields	查询字段
	 * @param where			查询条件
	 * @param order			排序条件
	 * @param pageSize		分页大小
	 * @param pageIndex		分页索引
	 * @return
	 * @throws IOException 
	 */
	List<DBRegistEntity> getEntitys(
			String queryFields, 
			Map<String, Object> where, 
			Map<String, Integer> order, 
			Integer pageSize, 
			Integer pageIndex);
	
	/**
	 * 获取当前条件下的数据行总数
	 * @param where			查询条件
	 * @return
	 * @throws IOException 
	 */
	Long getRowCounts(Map<String, Object> where);
	
	/**
	 * 获取实体
	 * @param guid			唯一值
	 * @return
	 */
	DBRegistEntity getEntity(String guid);
	
	/**
	 * 添加实体
	 * @param entity		添加实体
	 * @return
	 * @throws IOException 
	 */
	DBRegistEntity add(DBRegistEntity entity);
	
	/**
	 * 更新实体
	 * @param entity		实体
	 * @return
	 * @throws IOException 
	 */
	DBRegistEntity update(DBRegistEntity entity);
	
	/**
	 * 删除实体
	 * @param guid			唯一值
	 */
	void delete(String guid);
	
	/**
	 * 指量删除实体
	 * @param guid			唯一值集
	 */
	void deletes(String guids);
}